home *** CD-ROM | disk | FTP | other *** search
- #!/bin/sh -e
- ### BEGIN INIT INFO
- # Provides: networking
- # Required-Start:
- # Required-Stop: $local_fs
- # Default-Start:
- # Default-Stop: 0 6
- # Short-Description: Raise network interfaces.
- ### END INIT INFO
-
- PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin"
-
- [ -x /sbin/ifup ] || exit 0
-
- . /lib/lsb/init-functions
-
- # helper function to set the usplash timeout. https://launchpad.net/bugs/21617
- usplash_timeout () {
- TIMEOUT=$1
- if [ -x /sbin/usplash_write ]; then
- /sbin/usplash_write "TIMEOUT $TIMEOUT" || true
- fi
- }
-
- process_options() {
- [ -e /etc/network/options ] || return 0
- log_warning_msg "/etc/network/options still exists and it will be IGNORED! Read README.Debian of netbase."
- }
-
- check_network_file_systems() {
- [ -e /proc/mounts ] || return 0
-
- exec 9<&0 < /proc/mounts
- while read DEV MTPT FSTYPE REST; do
- case $DEV in
- /dev/nbd*|/dev/nd[a-z]*|/dev/etherd/e*)
- log_warning_msg "not deconfiguring network interfaces: network devices still mounted."
- exit 0
- ;;
- esac
- case $FSTYPE in
- nfs|nfs4|smbfs|ncp|ncpfs|cifs|coda|ocfs2|gfs|pvfs|pvfs2|fuse.httpfs|fuse.curlftpfs)
- log_warning_msg "not deconfiguring network interfaces: network file systems still mounted."
- exit 0
- ;;
- esac
- done
- exec 0<&9 9<&-
- }
-
- case "$1" in
- start)
- /lib/init/upstart-job networking start
- ;;
-
- stop)
- check_network_file_systems
-
- log_action_begin_msg "Deconfiguring network interfaces"
- if [ "$VERBOSE" != no ]; then
- if ifdown -a --exclude=lo; then
- log_action_end_msg $?
- else
- log_action_end_msg $?
- fi
- else
- if ifdown -a --exclude=lo >/dev/null 2>/dev/null; then
- log_action_end_msg $?
- else
- log_action_end_msg $?
- fi
- fi
- ;;
-
- force-reload|restart)
- process_options
-
- log_action_begin_msg "Reconfiguring network interfaces"
- ifdown -a --exclude=lo || true
- if ifup -a --exclude=lo; then
- log_action_end_msg $?
- else
- log_action_end_msg $?
- fi
- ;;
-
- *)
- echo "Usage: /etc/init.d/networking {start|stop|restart|force-reload}"
- exit 1
- ;;
- esac
-
- exit 0
-
-